Map数据结构: 类似于对象,可以将 对象 和 函数 作为key(属性)
Map 数据结构所提供的方法
- .size : 返回Map的长度
- .get() : 获取Map数据结构中的值
- .set() : 添加键值对(添加属性和值 key值和value值)
- .has() : 查找属性,返回 true / false
- .deltet() : 删除指定的key值(属性)
- .clear() : 清空所有key值(清空所有属性)
1. Map 的基本使用
// 固定写法
new Map([[key, value], [key, value]])
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
console.log(map); // Map(2) {"name" => "Kevin", {…} => ƒ}
2. .size
- 返回Map的长度
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
let size = map.size; // 2
3. .get()
- 获取Map数据结构中的值
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
let data = map.get('name'); // 'Kevin'
let data_fn = map.get(obj); // () => {}
4. .set()
- 添加键值对(添加属性和值 key值和value值)
let obj = {};
let fn = () => {};
let map = new Map();
map.set('name', 'Kevin');
map.set(obj, fn);
console.log(map); // Map(2) {"name" => "Kevin", {…} => ƒ}
5. .has()
- 查找属性,返回 true / false
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
let isHas = map.has(obj); // true
6. .delete()
- 删除指定的key值(属性)
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
map.delete('name');
map.delete(obj);
console.log(map); // Map(0) {}
7. .clear()
- 清空所有key值(清空所有属性)
let obj = {};
let fn = () => {};
let map = new Map([['name', 'Kevin'], [obj, fn]]);
map.clear();
console.log(map); // Map(0) {}
Promise →